package com.authine.cloudpivot.ext.vo;

import com.authine.cloudpivot.ext.model.order.CustomerOrderGoodsVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * 订单VO
 *
 * @author update张磊
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@ApiModel("订单VO")
@ToString(exclude = "orderGoodsVo")
public class CustomerOrderVo implements Serializable {

    private static final long serialVersionUID = 4785098776447339125L;
    @ApiModelProperty(value = "外部用户ID", required = true, example = "0000001", position = 1)
    private String client_user_id;
    @ApiModelProperty(value = "外部订单ID", example = "0000001", required = true, position = 2)
    private String client_order_id;
    @ApiModelProperty(value = "ERP PO", example = "erp po", position = 7)
    private String erp_po;
    @ApiModelProperty(value = "税后商品运费共计", example = "20000.0", position = 7)
    private BigDecimal amount;
    @ApiModelProperty(value = "收货人", example = "收货人", required = true, position = 3)
    private String receiver;
    @ApiModelProperty(value = "电话", example = "13158585858", required = true, position = 4)
    private String phone;
    @ApiModelProperty(value = "地址", example = "上海市", required = true, position = 5)
    private String address;
    @ApiModelProperty(value = "订单商品VO", required = true, position = 6)
    private List<CustomerOrderGoodsVo> customerOrderGoodsVo;
    @ApiModelProperty(value = "OS订单号", example = "000001", position = 7)
    private String client_os;
    @ApiModelProperty(value = "实际下单人", example = "下单人", position = 7)
    private String actual_order;

    @ApiModelProperty(value = "外部工厂代码", position = 7)
    private String clientFactoryCode;

    @ApiModelProperty(value = "扩展字段", position = 7, hidden = true)
    private String extends_attr;

}
